package com.yixun.qfbao.apidto;

import com.yixun.qfbao.annotation.TYWValid;
import com.yixun.qfbao.apidto.base.CommonReqDTO;

import java.io.Serializable;

public class AddOrEditPremisesReqDto extends CommonReqDTO implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 楼盘Id
	 */
	@TYWValid(min = 0, max = 10)
	private Long id;

	/**
	 * 省份
	 */
	@TYWValid(min = 0, max = 10)
	private Long provinceId;

	/**
	 * 城市
	 */
	@TYWValid(min = 0, max = 10)
	private Long cityId;

	/**
	 * 区域
	 */
	@TYWValid(min = 0, max = 10)
	private Long areaId;

	/**
	 * 楼盘名称
	 */
	@TYWValid(min = 0, max = 200)
	private String name;

	/**
	 * 物业类型:[{estate_type:[住宅,商住,商铺,网点,写字楼,厂房,写厂,铺厂,仓库,地皮,车位,其它]}]
	 */
	@TYWValid(min = 0)
	private String estateType;

	/**
	 * 建筑类别:[{building_type:[多层,高层,小高层,多层复式,高层复式,多层跃式,高层跃式,独立别墅,联体别墅,双拼别墅,裙楼,四合院]}]
	 */
	@TYWValid(min = 0, max = 200)
	private String buildingType;

	/**
	 * 装修状况:[{decoration_type:[毛坯,清水,简装,中装,精装,豪装]}]
	 */
	@TYWValid(min = 0, max = 200)
	private String decorationType;

	/**
	 * 项目特色
	 */
	// @TYWValid(min = 0, max = 200)
	private String feature;

	/**
	 * 容积率
	 */
	@TYWValid(min = 0, max = 20)
	private String plotRatio;

	/**
	 * 绿化率
	 */
	@TYWValid(min = 0, max = 20)
	private String greeningRate;

	/**
	 * 在售状态:[{sale_status:[待售,在售,售罄]}]
	 */
	@TYWValid(min = 0, max = 20)
	private String saleStatus;

	/**
	 * 开盘时间
	 */
	@TYWValid(min = 0, max = 20)
	private String openingDate;

	/**
	 * 入住时间
	 */
	@TYWValid(min = 0, max = 20)
	private String checkInDate;

	/**
	 * 物业费
	 */
	@TYWValid(min = 0, max = 20)
	private String propertyCharges;

	/**
	 * 物业公司
	 */
	@TYWValid(min = 0, max = 100)
	private String propertyCompany;

	/**
	 * 开发商
	 */
	@TYWValid(min = 0, max = 200)
	private String buildingCompany;

	/**
	 * 产权年限
	 */
	@TYWValid(min = 0, max = 20)
	private String rightYears;

	/**
	 * 均价
	 */
	@TYWValid(min = 0, max = 20)
	private String averagePrice;

	/**
	 * 物业地址经度
	 */
	@TYWValid(min = 0, max = 20)
	private String propertyLongitude;

	/**
	 * 物业地址纬度
	 */
	@TYWValid(min = 0, max = 20)
	private String propertyLatitude;
	/**
	 * 楼盘经度
	 */
	private String longitude;

	/**
	 * 楼盘纬度
	 */
	private String latitude;

	/**
	 * 物业地址
	 */
	@TYWValid(min = 0, max = 200)
	private String propertyAddr;

	/**
	 * 售楼部地址经度
	 */
	@TYWValid(min = 0, max = 20)
	private String saleLongitude;

	/**
	 * 售楼部地址纬度
	 */
	@TYWValid(min = 0, max = 20)
	private String saleLatitude;

	/**
	 * 售楼部地址
	 */
	@TYWValid(min = 0, max = 200)
	private String saleAddr;

	/**
	 * 购房优惠
	 */
	private String discount;

	/**
	 * 佣金
	 */
	@TYWValid(min = 0)
	private String commission;

	/**
	 * 佣金比例
	 */
	@TYWValid(min = 0, max = 20)
	private String commissionRate;

	/**
	 * 奖励
	 */
	@TYWValid(min = 0, max = 20)
	private String reward;

	/**
	 * 带看保护期(到访之后,多久未到访,报备无效)
	 */
	@TYWValid(min = 0, max = 20)
	private String saveDays;

	/**
	 * 带看保护时间(报备多久之后可以带看)
	 */
	@TYWValid(min = 0, max = 20)
	private String visitProtect;

	/**
	 * 到访后保护时间
	 */
	private String visitBaohu;
	/**
	 * 到访后保护时间类型
	 */
	private String visitBaohuType;
	/**
	 * 复方延长到访保护时间开关
	 * 0: 关闭
	 * 1: 开启
	 */
	private Integer visitBaohuRepeat;

	/**
	 * 项目经理
	 */
	@TYWValid(min = 0, max = 20)
	private String manager;

	/**
	 * 联系方式
	 */
	@TYWValid(min = 0, max = 20)
	private String mobile;

	/**
	 * 合作开始时间
	 */
	@TYWValid(min = 0, max = 20)
	private String cooperationBeginDate;

	/**
	 * 合作结束时间
	 */
	@TYWValid(min = 0, max = 20)
	private String cooperationEndDate;

	/**
	 * 合作规则
	 */
	// @TYWValid(min = 0, max = 2000)
	private String cooperationRule;

	/**
	 * 项目简介
	 */
	private String introduction;

	/**
	 * 楼盘卖点
	 */
	private String selling;

	/**
	 * 目标客户
	 */
	private String customer;

	/**
	 * 排列顺序
	 */
	private Integer sequence;

	/**
	 * 拓客技巧
	 */
	private String saleSkill;

	/**
	 * 报备模板
	 */
	private String reportTemp;

	/**
	 * 封面图片地址
	 */
	@TYWValid(min = 0, max = 255)
	private String url;

	/**
	 * 楼书附件地址
	 */
	@TYWValid(min = 0, max = 255)
	private String lsUrl;

	/**
	 * 结佣方式 1、签约结佣 2、按揭结佣
	 */
	@TYWValid(min = 0, max = 200)
	private String commissionWay;

	/**
	 * 楼书名称
	 */
	@TYWValid(min = 0, max = 20)
	private String lsName;

	/**
	 * 格式化开盘时间
	 */
	@TYWValid(min = 0, max = 20)
	private String formatOpeningTime;

	/**
	 * M2楼盘编号
	 */
	@TYWValid(min = 0, max = 30)
	private String projectCodeM2;

	/**
	 * 特殊报备时间间隔
	 */
	@TYWValid(min = 0, max = 20)
	private String specialTime;

	/**
	 * 成交奖
	 */
	@TYWValid(min = 0, max = 20)
	private String dealAward;

	/**
	 * 全景看房地址
	 */
	// @TYWValid(min = 0, max = 255)
	private String panoramicView;

	/**
	 * 楼盘标签
	 */
	@TYWValid(min = 0, max = 200)
	private String codeName;

	/**
	 * 面积、户型名称、户型图
	 */
	private String hxtInfo;
	/**
	 * 楼盘地址
	 */
	private String premisesAddress;

	/**
	 * 1成交奖，2现金奖
	 */
	private String dealType;

	/**
	 * 楼盘相册
	 */
	private String premisesImages;

	/**
	 * 规划户数
	 */
	private String houseHolds;

	/**
	 * 地上车位数
	 * 
	 * @return
	 */
	private String upCarPort;

	/**
	 * 地下车位数
	 */
	private String downCarPort;

	/**
	 * 报备保护期单位
	 */
	private String visitProtectType;

	/**
	 * 证照文件
	 */
	private String licenseImages;

	/**
	 * 公司名称
	 */
	private String corporateName;
	/**
	 * 公司简介
	 */
	private String corporateDesc;
    /**
     * 最短报备时间单位
     */
	private String specialTimeType;
    /**
     * 项目总监
     */
	private String chief;
    /**
     * 总监电话
     */
	private String chiefMobile;
    /**
     * 到访延长时间限制开关 0-关；1-开
     */
	private int visitProtectSwitch;

	private String agencyAccessToken;

	/**
	 * V1.5.3新增
	 */
	//交易延长时间
	private Integer saveDaysType;
	//报备保护时间
	private Long reportProtect;
	//报备保护时间类型
	private Long reportProtectType;
	//报备有效时间
	private Long reportValid;
	//报备有效时间类型
	private Long reportValidType;
	//复访交易顺延时间
	private Integer repeatDelayDealTime;
	/**
	 * 到访时间逾期配置配置
	 */
	private AddOverdueDecisionConfig visitOverdueData;
	/**
	 * 交易时间逾期配置
	 */
	private AddOverdueDecisionConfig dealOverdueData;

	/**
	 * 报备方式
	 */
	private String reportWay;

	/**
	 * 到访转认筹后不再启用保护机制: 0为不关闭仍启用,1为关闭不启用
	 */
	private String closeProtectMachine;

	/**
	 * 验真开关
	 * 0: 关闭、 1: 开启
	 */
	private String checkSwitch;

	/**
	 * 补全号码补全节点
	 * 1、无要求 2、报备审核前 3、到访审核前
	 * 4、认筹审核前 5、认购审核前 6、签约审核前
	 */
	private String completeNode;

	public String getCloseProtectMachine() {
		return closeProtectMachine;
	}

	public void setCloseProtectMachine(String closeProtectMachine) {
		this.closeProtectMachine = closeProtectMachine;
	}

	public String getReportWay() {
		return reportWay;
	}

	public void setReportWay(String reportWay) {
		this.reportWay = reportWay;
	}


	public String getAgencyAccessToken() {
        return agencyAccessToken;
    }

    public void setAgencyAccessToken(String agencyAccessToken) {
        this.agencyAccessToken = agencyAccessToken;
    }

    public String getCorporateName() {
		return corporateName;
	}

	public void setCorporateName(String corporateName) {
		this.corporateName = corporateName;
	}

	public String getCorporateDesc() {
		return corporateDesc;
	}

	public void setCorporateDesc(String corporateDesc) {
		this.corporateDesc = corporateDesc;
	}

	public String getLicenseImages() {
		return licenseImages;
	}

	public void setLicenseImages(String licenseImages) {
		this.licenseImages = licenseImages;
	}

	public String getVisitProtectType() {
		return visitProtectType;
	}

	public void setVisitProtectType(String visitProtectType) {
		this.visitProtectType = visitProtectType;
	}

	public String getVisitBaohu() {
		return visitBaohu;
	}

	public void setVisitBaohu(String visitBaohu) {
		this.visitBaohu = visitBaohu;
	}

	public String getVisitBaohuType() {
		return visitBaohuType;
	}

	public void setVisitBaohuType(String visitBaohuType) {
		this.visitBaohuType = visitBaohuType;
	}

	public Integer getVisitBaohuRepeat() {
		return visitBaohuRepeat;
	}

	public void setVisitBaohuRepeat(Integer visitBaohuRepeat) {
		this.visitBaohuRepeat = visitBaohuRepeat;
	}

	public String getHouseHolds() {
		return houseHolds;
	}

	public void setHouseHolds(String houseHolds) {
		this.houseHolds = houseHolds;
	}

	public String getUpCarPort() {
		return upCarPort;
	}

	public void setUpCarPort(String upCarPort) {
		this.upCarPort = upCarPort;
	}

	public String getDownCarPort() {
		return downCarPort;
	}

	public void setDownCarPort(String downCarPort) {
		this.downCarPort = downCarPort;
	}

	public String getPremisesImages() {
		return premisesImages;
	}

	public void setPremisesImages(String premisesImages) {
		this.premisesImages = premisesImages;
	}

	public String getPremisesAddress() {
		return premisesAddress;
	}

	public void setPremisesAddress(String premisesAddress) {
		this.premisesAddress = premisesAddress;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getProvinceId() {
		return provinceId;
	}

	public void setProvinceId(Long provinceId) {
		this.provinceId = provinceId;
	}

	public Long getCityId() {
		return cityId;
	}

	public void setCityId(Long cityId) {
		this.cityId = cityId;
	}

	public Long getAreaId() {
		return areaId;
	}

	public void setAreaId(Long areaId) {
		this.areaId = areaId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getEstateType() {
		return estateType;
	}

	public void setEstateType(String estateType) {
		this.estateType = estateType;
	}

	public String getBuildingType() {
		return buildingType;
	}

	public void setBuildingType(String buildingType) {
		this.buildingType = buildingType;
	}

	public String getDecorationType() {
		return decorationType;
	}

	public void setDecorationType(String decorationType) {
		this.decorationType = decorationType;
	}

	public String getFeature() {
		return feature;
	}

	public void setFeature(String feature) {
		this.feature = feature;
	}

	public String getPlotRatio() {
		return plotRatio;
	}

	public void setPlotRatio(String plotRatio) {
		this.plotRatio = plotRatio;
	}

	public String getGreeningRate() {
		return greeningRate;
	}

	public void setGreeningRate(String greeningRate) {
		this.greeningRate = greeningRate;
	}

	public String getSaleStatus() {
		return saleStatus;
	}

	public void setSaleStatus(String saleStatus) {
		this.saleStatus = saleStatus;
	}

	public String getPropertyCharges() {
		return propertyCharges;
	}

	public void setPropertyCharges(String propertyCharges) {
		this.propertyCharges = propertyCharges;
	}

	public String getPropertyCompany() {
		return propertyCompany;
	}

	public void setPropertyCompany(String propertyCompany) {
		this.propertyCompany = propertyCompany;
	}

	public String getBuildingCompany() {
		return buildingCompany;
	}

	public void setBuildingCompany(String buildingCompany) {
		this.buildingCompany = buildingCompany;
	}

	public String getRightYears() {
		return rightYears;
	}

	public void setRightYears(String rightYears) {
		this.rightYears = rightYears;
	}

	public String getAveragePrice() {
		return averagePrice;
	}

	public void setAveragePrice(String averagePrice) {
		this.averagePrice = averagePrice;
	}

	public String getPropertyLongitude() {
		return propertyLongitude;
	}

	public void setPropertyLongitude(String propertyLongitude) {
		this.propertyLongitude = propertyLongitude;
	}

	public String getPropertyLatitude() {
		return propertyLatitude;
	}

	public void setPropertyLatitude(String propertyLatitude) {
		this.propertyLatitude = propertyLatitude;
	}

	public String getPropertyAddr() {
		return propertyAddr;
	}

	public void setPropertyAddr(String propertyAddr) {
		this.propertyAddr = propertyAddr;
	}

	public String getSaleLongitude() {
		return saleLongitude;
	}

	public void setSaleLongitude(String saleLongitude) {
		this.saleLongitude = saleLongitude;
	}

	public String getSaleLatitude() {
		return saleLatitude;
	}

	public void setSaleLatitude(String saleLatitude) {
		this.saleLatitude = saleLatitude;
	}

	public String getSaleAddr() {
		return saleAddr;
	}

	public void setSaleAddr(String saleAddr) {
		this.saleAddr = saleAddr;
	}

	public String getDiscount() {
		return discount;
	}

	public void setDiscount(String discount) {
		this.discount = discount;
	}

	public String getCommission() {
		return commission;
	}

	public void setCommission(String commission) {
		this.commission = commission;
	}

	public String getReward() {
		return reward;
	}

	public void setReward(String reward) {
		this.reward = reward;
	}

	public String getSaveDays() {
		return saveDays;
	}

	public void setSaveDays(String saveDays) {
		this.saveDays = saveDays;
	}

	public String getVisitProtect() {
		return visitProtect;
	}

	public void setVisitProtect(String visitProtect) {
		this.visitProtect = visitProtect;
	}

	public String getManager() {
		return manager;
	}

	public void setManager(String manager) {
		this.manager = manager;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getCooperationRule() {
		return cooperationRule;
	}

	public void setCooperationRule(String cooperationRule) {
		this.cooperationRule = cooperationRule;
	}

	public String getIntroduction() {
		return introduction;
	}

	public void setIntroduction(String introduction) {
		this.introduction = introduction;
	}

	public String getSelling() {
		return selling;
	}

	public void setSelling(String selling) {
		this.selling = selling;
	}

	public String getCustomer() {
		return customer;
	}

	public void setCustomer(String customer) {
		this.customer = customer;
	}

	public String getSaleSkill() {
		return saleSkill;
	}

	public void setSaleSkill(String saleSkill) {
		this.saleSkill = saleSkill;
	}

	public String getReportTemp() {
		return reportTemp;
	}

	public void setReportTemp(String reportTemp) {
		this.reportTemp = reportTemp;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getLsUrl() {
		return lsUrl;
	}

	public void setLsUrl(String lsUrl) {
		this.lsUrl = lsUrl;
	}

	public String getCommissionWay() {
		return commissionWay;
	}

	public void setCommissionWay(String commissionWay) {
		this.commissionWay = commissionWay;
	}

	public String getLsName() {
		return lsName;
	}

	public void setLsName(String lsName) {
		this.lsName = lsName;
	}

	public String getFormatOpeningTime() {
		return formatOpeningTime;
	}

	public void setFormatOpeningTime(String formatOpeningTime) {
		this.formatOpeningTime = formatOpeningTime;
	}

	public String getProjectCodeM2() {
		return projectCodeM2;
	}

	public void setProjectCodeM2(String projectCodeM2) {
		this.projectCodeM2 = projectCodeM2;
	}

	public String getSpecialTime() {
		return specialTime;
	}

	public void setSpecialTime(String specialTime) {
		this.specialTime = specialTime;
	}

	public String getDealAward() {
		return dealAward;
	}

	public void setDealAward(String dealAward) {
		this.dealAward = dealAward;
	}

	public String getPanoramicView() {
		return panoramicView;
	}

	public void setPanoramicView(String panoramicView) {
		this.panoramicView = panoramicView;
	}

	public String getCodeName() {
		return codeName;
	}

	public void setCodeName(String codeName) {
		this.codeName = codeName;
	}

	public String getHxtInfo() {
		return hxtInfo;
	}

	public void setHxtInfo(String hxtInfo) {
		this.hxtInfo = hxtInfo;
	}

	public String getOpeningDate() {
		return openingDate;
	}

	public void setOpeningDate(String openingDate) {
		this.openingDate = openingDate;
	}

	public String getCheckInDate() {
		return checkInDate;
	}

	public void setCheckInDate(String checkInDate) {
		this.checkInDate = checkInDate;
	}

	public String getCooperationBeginDate() {
		return cooperationBeginDate;
	}

	public void setCooperationBeginDate(String cooperationBeginDate) {
		this.cooperationBeginDate = cooperationBeginDate;
	}

	public String getCooperationEndDate() {
		return cooperationEndDate;
	}

	public void setCooperationEndDate(String cooperationEndDate) {
		this.cooperationEndDate = cooperationEndDate;
	}

	public String getCommissionRate() {
		return commissionRate;
	}

	public void setCommissionRate(String commissionRate) {
		this.commissionRate = commissionRate;
	}

	public Integer getSequence() {
		return sequence;
	}

	public void setSequence(Integer sequence) {
		this.sequence = sequence;
	}

	public String getDealType() {
		return dealType;
	}

	public void setDealType(String dealType) {
		this.dealType = dealType;
	}

    public String getSpecialTimeType() {
        return specialTimeType;
    }

    public void setSpecialTimeType(String specialTimeType) {
        this.specialTimeType = specialTimeType;
    }

    public String getChief() {
        return chief;
    }

    public void setChief(String chief) {
        this.chief = chief;
    }

    public String getChiefMobile() {
        return chiefMobile;
    }

    public void setChiefMobile(String chiefMobile) {
        this.chiefMobile = chiefMobile;
    }

    public int getVisitProtectSwitch() {
        return visitProtectSwitch;
    }

    public void setVisitProtectSwitch(int visitProtectSwitch) {
        this.visitProtectSwitch = visitProtectSwitch;
    }

	public AddOverdueDecisionConfig getVisitOverdueData() {
		return visitOverdueData;
	}

	public void setVisitOverdueData(AddOverdueDecisionConfig visitOverdueData) {
		this.visitOverdueData = visitOverdueData;
	}

	public AddOverdueDecisionConfig getDealOverdueData() {
		return dealOverdueData;
	}

	public void setDealOverdueData(AddOverdueDecisionConfig dealOverdueData) {
		this.dealOverdueData = dealOverdueData;
	}

	public Integer getSaveDaysType() {
		return saveDaysType;
	}

	public void setSaveDaysType(Integer saveDaysType) {
		this.saveDaysType = saveDaysType;
	}

	public Long getReportProtect() {
		return reportProtect;
	}

	public void setReportProtect(Long reportProtect) {
		this.reportProtect = reportProtect;
	}

	public Long getReportProtectType() {
		return reportProtectType;
	}

	public void setReportProtectType(Long reportProtectType) {
		this.reportProtectType = reportProtectType;
	}

	public Long getReportValid() {
		return reportValid;
	}

	public void setReportValid(Long reportValid) {
		this.reportValid = reportValid;
	}

	public Long getReportValidType() {
		return reportValidType;
	}

	public void setReportValidType(Long reportValidType) {
		this.reportValidType = reportValidType;
	}

	public Integer getRepeatDelayDealTime() {
		return repeatDelayDealTime;
	}

	public void setRepeatDelayDealTime(Integer repeatDelayDealTime) {
		this.repeatDelayDealTime = repeatDelayDealTime;
	}

	public String getCheckSwitch() {
		return checkSwitch;
	}
	

	public String getLongitude() {
		return longitude;
	}

	public void setLongitude(String longitude) {
		this.longitude = longitude;
	}

	public String getLatitude() {
		return latitude;
	}

	public void setLatitude(String latitude) {
		this.latitude = latitude;
	}

	public void setCheckSwitch(String checkSwitch) {
		this.checkSwitch = checkSwitch;
	}

	public String getCompleteNode() {
		return completeNode;
	}

	public void setCompleteNode(String completeNode) {
		this.completeNode = completeNode;
	}
}
